1. Field of the Invention
The present invention relates generally to the field of color video imaging, and more particularly to means and methods for generating high resolution color graphic elements, such as lines, circles and curves, using a color-under coding system in which selected grey scale levels are allocated or "stolen" for substitution with data for high resolution graphic elements.
2. Description of Prior Art
Computer graphics are used in a multitude of applications, such as engineering design, business presentations, interactive video image teleconferencing and broadcast television productions. Raster-scan devices have proven to be the superior display medium for computer graphics in such applications.
The demand for more precise graphics has led to the development of high resolution systems. In the present art, black and white displays typically provide higher resolution than do color displays. This is because black and white displays require only luminance information to produce an image, while color displays must also include chrominance information to produce a color image.
Transmitting image data is typically very expensive and complex using conventional broadband video transmission media. Due to the cost and complexity of broadband transmission equipment, it is desirable to convert video signals from high bandwidth signals to low bandwidth signals, thereby enabling transmission over suitable low bandwidth media, such as voice grade telephone lines. Ideally, this high to low bandwidth conversion reduces the amount of information transmitted per unit time, resulting in reduced cost of transmission while still providing a high quality image. Coding of color video images is conventionally achieved in high bandwidth broadcast television. In freeze frame applications it is also known to code images through the use of a coding technique known in the art as "colorunder" coding.
As is known in the art, conventional color-under coding systems convert a color image from a high bandwidth signal to a lower, limited bandwidth signal. The limited bandwidth signal is digitally encoded by dedication of a specific number of bits per picture element (pel) to the encoded luminance signal and the chrominance signals, where Y is the luminance signal (coded at a higher bandwidth relative to the chrominance signals) and the I and Q are the chrominance signals (coded at a lower bandwidth relative to the luminance signal). The pel in the color-under coding system is a digital representation of the color and brightness of each element of the subject video image as specified by a finite number of bits of luminance and chrominance data.
U.S. Pat. No. 4,654,484, issued Mar. 31, 1987, to L. Reiffel, et al., for "Video Compression Expansion System" (the "'484 Patent"), which is hereby incorporated by reference describes the memory organization in a conventional color-under coding system and describes how color-under coded data can be used and transmitted in a video data compression/expansion application. The video random access memory, or VRAM, of the color-under coding system stores the luminance data (Y) at high spatial resolution with limited levels of grey, and the chrominance data (I and Q) at a more limited resolution with many color representations. Tests have indicated that the human eye has greater sensitivity to the resolution of the luminance information in an image than to the resolution of the chrominance information in an image.
The display format of the typical color-under coding system is commonly referred to as an octant of pels, or simply an octant. The name octant is derived from the characteristic conventional grouping of pels into groups of eight (8), in which each pel of the octant has an independent luminance value, while all pels in the octant share a common chrominance value. The octant-grouped color-under coding system stores video image data, for example, as six (6) bits of luminance data per picture element (pel) and one (1) bit each of I and Q data per pel. The chrominance information, I and Q data, are each typically represented by eight (8) bits of information per octant, or two (2) bits of information per pel, in the conventional color-under coding system. Hence, in conventional color-under coding, I and Q data bits from the eight (8) pels in the octant, grouped as two (2) rows of four (4) pels per octant, are needed to represent the common I and Q chrominance data for the pels in that octant. Thus, each octant is defined by sixty-four ( 64) bits of information, six (6) bits of luminance information per pel, totaling forty-eight (48) bits per octant, plus sixteen (16) bits of octant-shared I and Q data, eight (8) bits of I data and eight (8) bits of Q data. While the '484 Patent discloses a "sextant" of pels for storing two (2) chrominance signals, the same principles are applicable to an "octant" of pels.
As described above, the luminance value for each of the eight (8) pels in each octant is independent from the other pels in the octant. For example, the luminance values for two (2) adjacent pels in the same octant could be such that the luminance value for one pel is black while the luminance value for the adjacent pel is white. However, in the conventional color-under coding system only one chrominance value can be assigned to all eight (8) pels in the octant. Although the color-under coding system critically limits the ability to create high resolution color graphic elements such as lines, circles and curves.
As an example of the limitations of the conventional color-under coding system, it is illustrative to consider the attempted creation of two (2) red pels isolated in a field of white pels using prior art techniques. If a red line one (1) pel wide and two (2) pels long is drawn through an octant, the luminance state for the two (2) red pels is set at the luminance level for red for that particular red line, for example, 100% luminance. Further, for this example, it is desirable to set the luminance for the remaining six (6) pels of the octant to the luminance value representing white, thus representing a fully saturated red line on a white background. In conventional colorunder coding systems, however, only one (1) chrominance state can be set for the entire octant. Therefore, the entire octant must be set to the chrominance state (chrominance=red) of the two (2) red pels in order to produce any red pels within the octant. The result is eight (8) red pels and no field of white because all eight (8 ) pels in the octant have 100% luminance and red chrominance.
Since the entire octant is set to red in the attempt to produce two (2) red pels, the line width and length are distorted by factors of two (2) and four (4), respectively, over the desired dimensions. The undesired distortion of the desired line dimensions produces an extremely prominent "saw-toothed" effect along the edges of the line, such that lines are composed of eight (8) pel octants instead of single pels. The octant, composed of eight (8) pels, essentially acts as a single "superpel" such that the color of the octant, determined by the luminance and chrominance data of the pels in the octant, is controlled by the common chrominance data for the eight (8) pels in the octant.
Since the chrominance value for an entire octant of pels is set to a single state, it is impossible to set any one (1) pel of the other eight (8) pels in the octant to another color. Therefore the ability to create high resolution color graphics is limited in the conventional color-under coding system. In contrast, as described below, the present invention overcomes all of the foregoing limitations.
Accordingly, it is an object of this invention to provide high resolution color graphics using color-under coding of video images.
It is a further object of this invention to provide such high resolution graphics using color-under coding of video images while maximizing the efficient utilization of available memory by retaining most of the data compression benefits achieved in conventional color-under coding.
Finally, it is an object of this invention to provide high resolution graphics using color-under coding of video images for use with a variety of input devices.